
using AutoMapper;
using SOEI.Solution.Application.Contracts.DomainEntities.RegulatoryMange.Dtos;
using SOEI.Solution.DomainEntities.ContractManagement;
using SOEI.Solution.DomainEntities.RegulatoryMange;
using SOEI.Solution.DomainEntities.RegulatoryMange.Dtos;
using SOEI.Solution.Integratedes.Organization;

namespace SOEI.Solution.CustomDtoAutoMapper
{

    /// <summary>
    /// 配置Member的AutoMapper映射
    /// 前往 <see cref="SolutionApplicationModule"/>的AbpAutoMapper配置方法下添加以下代码段
    /// AgreementDtoAutoMapper.CreateMappings(configuration);
    /// </summary>
    public static class AgreementDtoAutoMapper
    {
        public static void CreateMappings(IMapperConfigurationExpression configuration)
        {
            configuration.CreateMap<Agreement, AgreementListDto>();
            configuration.CreateMap<AgreementListDto, Agreement>();

            configuration.CreateMap<AgreementEditDto, Agreement>();
            configuration.CreateMap<Agreement, AgreementEditDto>();

            configuration.CreateMap<AgreementStateListDto, AgreementState>();
            configuration.CreateMap<AgreementState, AgreementStateListDto>();

            configuration.CreateMap<RegulatoryAccountViewDto, RegulatoryAccount>();
            configuration.CreateMap<RegulatoryAccount, RegulatoryAccountViewDto>();

            configuration.CreateMap<SuperviseBankViewDto, SuperviseBank>();
            configuration.CreateMap<SuperviseBank, SuperviseBankViewDto>();

            configuration.CreateMap<ContractViewWithAgreementDto, ContractSummary>();
            configuration.CreateMap<ContractSummary, ContractViewWithAgreementDto>();

            configuration.CreateMap<OEconomyOrganiViewDto, OEconomyOrgani>();
            configuration.CreateMap<OEconomyOrgani, OEconomyOrganiViewDto>();

            configuration.CreateMap<Agreement, AgreementViewDto>();
            configuration.CreateMap<AgreementViewDto, Agreement>();

            configuration.CreateMap<AgreementBothViewDto, AgreementBoth>();
            configuration.CreateMap<AgreementBoth, AgreementBothViewDto>();

            configuration.CreateMap<Regulator, RegulatorViewDto>();
            configuration.CreateMap<RegulatorViewDto, Regulator>();

            configuration.CreateMap<PropertyCardViewDto, PropertyCard>();
            configuration.CreateMap<PropertyCard, PropertyCardViewDto>();

            configuration.CreateMap<LocatedViewDto, Located>();
            configuration.CreateMap<Located, LocatedViewDto>();

            configuration.CreateMap<ViewAgreement, AgreementViewListDto>();
            configuration.CreateMap<AgreementViewListDto, ViewAgreement>();

            configuration.CreateMap<AgreementChangeEditDto, AgreementChange>();
            configuration.CreateMap<AgreementChange, AgreementChangeEditDto>();

        }
    }
}